package com.aimaterials.resource.service;

import java.util.List;

import com.aimaterials.resource.domain.ResResource;
import com.aimaterials.resource.domain.ResStereoscopic;

/**
 * 立体教材Service接口
 * 
 * @author DaemonSu
 * @date 2020-11-10
 */
public interface IResStereoscopicService 
{
    /**
     * 查询立体教材
     * 
     * @param stereoscopicId 立体教材ID
     * @return 立体教材
     */
    public ResStereoscopic selectResStereoscopicById(Long stereoscopicId);

    /**
     * 根据二维码查询资源
     *
     * @param qrcode 立体教材ID
     * @return 资源
     */
    public ResResource selectResByQrCode(String qrcode,String UUID);

    /**
     * 查询立体教材列表
     * 
     * @param resStereoscopic 立体教材
     * @return 立体教材集合
     */
    public List<ResStereoscopic> selectResStereoscopicList(ResStereoscopic resStereoscopic);

    /**
     * 新增立体教材
     * 
     * @param resStereoscopic 立体教材
     * @return 结果
     */
    public int insertResStereoscopic(ResStereoscopic resStereoscopic);

    /**
     * 修改立体教材
     * 
     * @param resStereoscopic 立体教材
     * @return 结果
     */
    public int updateResStereoscopic(ResStereoscopic resStereoscopic);

    /**
     * 批量删除立体教材
     * 
     * @param stereoscopicIds 需要删除的立体教材ID
     * @return 结果
     */
    public int deleteResStereoscopicByIds(Long[] stereoscopicIds);

    /**
     * 批量删除立体教材中的资源
     *
     * @param resourceIds 需要删除的立体教材中资源的ID
     * @param  sterId   立体教材ID
     * @return 结果
     */
    public int deleteResByIds(Long[] resourceIds,Long sterId);

    /**
     * 更新教材和资源的关系
     *
     * @param resourceIds 资源的ID
     * @param  sterId   立体教材ID
     * @return 结果
     */
    public int updateResByIds(Long[] resourceIds,Long sterId);

    /**
     * 修改资源二维码
     *
     * @param resourceId 资源的ID
     * @param  sterId   立体教材ID
     * @return 结果
     */
    public int updateQRCode(Long resourceId,Long sterId,String qrcode);

    /**
     * 删除立体教材信息
     * 
     * @param stereoscopicId 立体教材ID
     * @return 结果
     */
    public int deleteResStereoscopicById(Long stereoscopicId);

    /**
     * 删除学校选用的 立体教材
     * @param stereoscopicIds 教材ID
     * @param deptId 学校ID
     * @return
     */

    int deleteResStereoscopicInDept(Long[] stereoscopicIds, Long deptId);

    /**
     * 保存学校选用的智慧教材
     * @param stereoscopicIds 教材ID
     * @param deptId 学校ID
     * @return
     */
    int saveResStereoscopicInDept(Long[] stereoscopicIds, Long deptId);
}
